package score;

import java.util.Arrays;

/**
 * 学生类
 */
public class Student {
    //姓名 学号
     String name;
     String StudentId;
     int[] scores;
    // 当前成绩数组存放成绩 的位置 标记
     int index;
    // 构造方法 初始化学生信息
     Student(String name, String StudentId) {
         this.name = name;
         this.StudentId = StudentId;
         index = 0;// 可省
         this.scores = new int[10];// 默认给一个10个长度的成绩数组，存储10个成绩
     }
     // 添加成绩方法
    public void addScore(int score) {
         // 如果数组放满了，那进行扩容，每次默认扩容2倍
         if (index == scores.length) {
           scores = Arrays.copyOf(scores, scores.length * 2);
         }
         this.scores[index++]=score;
    }
    // 计算总成绩方法
    public int getTotalScore() {
         int total = 0;
         for (int i = 0; i < scores.length; i++) {
             total += scores[i];
         }
         return total;
    }
    // 计算平均成绩的方法
    public int getAverageScore() {
         int total = getTotalScore();
        return index==0 ? 0 :(total / index) ;
    }

    // 打印学生信息
    public void printInfo(){
        System.out.println("-------学生成绩单--------");
        System.out.println("学号： "+this.StudentId);
        System.out.println("姓名： "+this.name);
        System.out.print("成绩： ");
        for (int i = 0; i < index; i++) {
            System.out.print(scores[i]+" ");
        }
        System.out.println();
        System.out.println("总成绩是："+getTotalScore());
        System.out.println("平均成绩是："+getAverageScore());

    }



}
